package cn.beatuty.makeup.module.system.controller.admin.orders.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.*;
import java.math.BigDecimal;

@Schema(description = "管理后台 - 订单新增/修改 Request VO")
@Data
public class OrdersSaveReqVO {

    @Schema(description = "订单的唯一标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "14409")
    private Long id;

    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String orderNumber;

    @Schema(description = "食品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "食品名称不能为空")
    private String productName;

    @Schema(description = "食品规格")
    private String productSpecification;

    @Schema(description = "食品数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "食品数量不能为空")
    private Integer quantity;

    @Schema(description = "付款价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "136")
    @NotNull(message = "付款价格不能为空")
    private BigDecimal price;

    @Schema(description = "订单状态，例如：待支付、已支付、已取消", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private String orderStatus;

    @Schema(description = "购物车id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30131")
    private Long cartId;

    @Schema(description = "产品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19845")
    @NotNull(message = "产品id不能为空")
    private Long productId;

    private String productImage;

    private String productCartCode;

}